﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for Style
/// </summary>
public class Style
{
    private static string[] StringMapTypeStyleFeatureType = {   
                                                               "administrative",
                                                               "administrative.country",
                                                               "administrative.land_parcel",
                                                               "administrative.neighborhood",
                                                               "administrative.province",
                                                               "all",
                                                               "landscape",
                                                               "landscape.man_made",
                                                               "landscape.natural",
                                                               "poi",
                                                               "poi.attraction",
                                                               "poi.business",
                                                               "poi.government",
                                                               "poi.medical",
                                                               "poi.park",
                                                               "poi.place_of_worship",
                                                               "poi.school",
                                                               "poi.sports_complex",
                                                               "road",
                                                               "road.arterial",
                                                               "road.highway",
                                                               "road.highway.controlled_access",
                                                               "road.local",
                                                               "transit",
                                                               "transit.line",
                                                               "transit.station",
                                                               "transit.station.airport",
                                                               "transit.station.bus",
                                                               "transit.station.rail",
                                                               "water"
                                                           };

    private static string[] StringMapTypeStyleElementType = {
                                                               "all",
                                                               "geometry",
                                                               "labels"
                                                           };

    public enum MapTypeStyleFeatureType
    {
        administrative = 0,
        administrative_country,
        administrative_landParcel,
        administrative_neighborhood,
        administrative_province,
        all,
        landscape,
        landscape_manMade,
        landscape_natural,
        poi,
        poi_attraction,
        poi_business,
        poi_government,
        poi_medical,
        poi_park,
        poi_placeOfWorship,
        poi_school,
        poi_sportsComplex,
        road,
        road_arterial,
        road_highway,
        road_highway_controlledAccess,
        road_local,
        transit,
        transit_line,
        transit_station,
        transit_station_airport,
        transit_station_bus,
        transit_station_rail,
        water
    };

    public enum MapTypeStyleElementType
    {
        all = 0,
        geometry,
        labels
    };

    MapTypeStyleFeatureType _FeatureType;

    public MapTypeStyleFeatureType FeatureType
    {
        //get { return _FeatureType; }
        set { _FeatureType = value; _Feature = StringMapTypeStyleFeatureType[(int)_FeatureType]; }
    }

    string _Feature;
    public string Feature
    {
        get { return _Feature; }
    }

    MapTypeStyleElementType _ElementType;

    public MapTypeStyleElementType ElementType
    {
        //get { return _ElementType; }
        set { _ElementType = value; _Element = StringMapTypeStyleElementType[(int)_ElementType];}
    }

    string _Element;
    public string Element
    {
        get { return _Element; }
    }

   public  int gamma;
   public string hue;
   public Boolean invert_lightness;
   public int lightness;
   public int saturation;
   public string visibility;
      
	public Style()
	{
		//
		// TODO: Add constructor logic here
		//
    }
}